Deftype, instructies

       

Gebruik deze instructie op moduleniveau om het standaardgegevenstype in te stellen voor variabelen, argumenten die zijn doorgegeven aan procedures, en het resultaattype voor de procedures Function en Property Get waarvan de namen beginnen met de opgegeven tekens.

Syntaxis

DefBool letterbereik[, letterbereik] . . .

DefByte letterbereik[, letterbereik] . . .

DefInt letterbereik[, letterbereik] . . .

DefLng letterbereik[, letterbereik] . . .

DefCur letterbereik[, letterbereik] . . .

DefSng letterbereik[, letterbereik] . . .

DefDbl letterbereik[, letterbereik] . . .

DefDec letterbereik[, letterbereik] . . .

DefDate letterbereik[, letterbereik] . . .

DefStr letterbereik[, letterbereik] . . .

DefObj letterbereik[, letterbereik] . . .

DefVar letterbereik[, letterbereik] . . .

Het vereiste argument letterbereik bevat de volgende syntaxis:

letter1[-letter2]

De argumenten letter1 en letter2 bepalen het naambereik waarvoor u een standaardgegevenstype kunt instellen. Elk argument geeft de eerste letter van een variabele, argument, procedure Function of naam van de procedure Property Get weer. Dit kan een willekeurige letter van het alfabet zijn. Voor letterbereik wordt geen onderscheid gemaakt tussen hoofdletters en kleine letters.

Notities

De naam van de instructie bepaalt het gegevenstype:

Instructie Gegevenstype
DefBool Boolean
DefByte Byte
DefInt Integer
DefLng Long
DefCur Currency
DefSng Single
DefDbl Double
DefDec Decimal (momenteel niet ondersteund)
DefDate Date
DefStr String
DefObj Object
DefVar Variant

In het volgende programmafragment is Bericht bijvoorbeeld een tekenreeksvariabele:

DefStr A-Q
. . .
Bericht = "Onvoldoende stackruimte."

De instructie Deftype is alleen van invloed op de module waarin deze wordt gebruikt. De instructie DefInt in een bepaalde module is bijvoorbeeld alleen van invloed op het standaardgegevenstype van variabelen, argumenten die zijn doorgegeven aan procedures, en procedures Function en Property Get die zijn gedeclareerd in die module. Het standaardgegevenstype van variabelen, argumenten en de resultaatwaarden in andere modules wordt niet be∩nvloed. Als u het standaardgegevenstype niet expliciet declareert met een instructie Deftype, is het standaardgegevenstype het gegevenstype Variant voor alle variabelen, alle argumenten en alle procedures Function en Property Get.

Als u een letterbereik opgeeft, wordt gewoonlijk het gegevenstype voor variabelen gedefinieerd die beginnen met letters in het eerste gedeelte van de 128 tekens van de tekenset. Als u echter het letterbereik AûZ opgeeft, stelt u de standaard in op het opgegeven gegevenstype voor alle variabelen, inclusief de variabelen die beginnen met internationale tekens uit het uitgebreide gedeelte van de tekenset (128û255).

Nadat u het bereik AûZ hebt opgegeven, kunt u geen subbereiken voor variabelen instellen met een instructie Deftype. Zodra een bereik is opgegeven, treedt een fout op als u een eerder gedefinieerde letter in een andere instructie Deftype opneemt. U kunt echter het gegevenstype van een willekeurige variabele, al dan niet gedefinieerd, opgeven met de instructie Dim en een component As type. U gebruikt bijvoorbeeld de volgende programmacode op moduleniveau als u een variabele als Double wilt definiδren, zelfs als deze standaard het gegevenstype Integer heeft:

DefInt A-Z
Dim BtwTarief As Double

Instructies Deftype hebben geen invloed op onderdelen van een door de gebruiker gedefinieerd type omdat u deze expliciet moet declareren.